پرش به محتوا

مقایسه زبان‌های برنامه‌نویسی

از ویکی‌پدیا، دانشنامهٔ آزاد

زبان‌های برنامه‌نویسی به‌منظور پایش رفتار ماشین‌ها (معمولاً رایانه‌ها) به‌کار می‌روند. زبان‌های برنامه‌نویسی همانند زبان‌های طبیعی از قوانین نحو و معنا پیروی می‌کنند.

در حال حاضر هزاران زبان برنامه‌نویسی وجود دارد[۱] و هر سال زبان‌های جدیدی نیز خلق می‌شوند. معمولاً تعداد کمی از این زبان‌ها به اندازه‌ای از محبوبیت دست می‌یابند که مورد استفادهٔ افراد زیادی قرار بگیرند؛ اما برنامه‌نویسهای حرفه‌ای ممکن است در فعالیت حرفه‌ای خود از چندین زبان استفاده کنند.

اکثر زبان‌های برنامه‌نویسی بر پایه معیارهای بین‌المللی (یا ملی) استانداردسازی نمی‌شوند، حتی برخی از آن‌ها مانند پرل یا استاندارد ام‌ال که کاربرد زیادی هم دارند. از جملهٔ زبان‌های برنامه‌نویسی استانداردشده و سرشناسی می‌توان به الگوا، سی، سی++، جاوااسکریپت (تحت نام اکما اسکریپتاسمال‌تاک، پرولوگ، لیسپ معمولی، اسکیم (استاندارد آی-تریپل-ئیایدا، فورتون، کوبول، اس‌کیوال و اکس‌کوئری اشاره کرد.

مقایسه عمومی

[ویرایش]

جدول زیر به مقایسهٔ اطلاعات عمومی و فنی منتخبی از زبان‌های برنامه‌نویسی می‌پردازد که معمولاً استفادهٔ زیادی دارند. برای کسب اطلاعات بیشتر، به مقالهٔ مجزای مربوط به هریک از زبان‌های برنامه‌نویسی مراجعه کنید. دقت داشته‌باشید که جدول زیر ممکن است کامل نباشد و برخی اطلاعات در آن درج نشده‌باشند..

زبان کاربرد مورد نظر دستوری شیءگرا تابعی رویه‌ای همگانی پژواکی رویدادمحور سایر الگو(ها) استانداردشده؟
۱سی:اینترپرایز اپلیکیشن، تجارت توسعه سریع نرم‌افزار، همه‌منظوره، وب، موبایل آری آری آری آری آری آری برنامه‌نویسی مبتنی بر شیء و مبتنی بر پروتوتایپ‌ها نه
اکشن‌اسکریپت ۳٫۰ اپلیکیشن، سمت کاربر، وب آری آری آری آری ۱۹۹۶، اکما
ایدا اپلیکیشن، نهفته، بی‌درنگ، سیستمی آری آری[۲] آری[۳] آری[۴] همزمان،[۵] توزیع‌شده،[۶] ۱۹۸۳، ۲۰۰۵، ۲۰۱۲، ANSI، ایزو، گاست ۲۷۸۳۱–۸۸[۷]
آلدور به‌طور قابل توجهی خاص دامنه، محاسبه نمادین آری آری آری نه
الگول ۵۸ اپلیکیشن آری نه
الگول ۶۰ اپلیکیشن آری آری آری ۱۹۶۰، آی‌اف‌آی‌پی دبلیوجی ۲٫۱، ایزو[۸]
الگول ۶۸ اپلیکیشن آری آری آری آری همزمان ۱۹۶۸، آی‌اف‌آی‌پی دبلیوجی ۲٫۱، گاست ۲۷۹۷۴–۸۸،[۹]
اتجی پی‌ایکس اپلیکیشن موازی آری پای کالکولوس نه
ای‌پی‌ال اپلیکیشن، پردازش داده‌ها آری آری آری آری آری آری آری آرایه‌گرا، تاکیت ۱۹۸۹، ایزو
زبان اسمبلی همه‌منظوره آری هرچیز، لحن زبان معمولاً بسیار خاص است، مرتبط با پردازندهٔ هدف آی-تریپل-ئی ۶۹۴–۱۹۸۵[۱۰]
اتوهات‌کی خودکارسازی رابط کاربری گرافیکی (ماکرو)، بسیار خاص دامنه آری آری[۱۱] آری آری نه
اتوایت خودکارسازی رابط کاربری گرافیکی (ماکرو)، بسیار خاص دامنه آری آری آری نه
بالرینا ادغام، سریع، سمت سرور، عمومی آری آری آری آری آری همزمان، معاملاتی، برنامه‌نویسی آماری و به‌شدت سبک‌دار، نموداری / برنامه‌نویسی دیداری ۲۰۱۸ استاندارد بالفعل به‌واسطهٔ ویژگی‌های زبان بالرینا[۱۲]
بش پوسته، اجرانامه‌نویسی آری آری نه، اما پازیکس. ۲ به‌طور اختیاری[۱۳]
بیسیک اپلیکیشن، آموزشی آری آری ۱۹۸۳، ANSI، ایزو، اکما
بین‌شل اپلیکیشن، اجرانامه‌نویسی آری آری آری آری در دست انجام، جی‌سی‌پی[۱۴]
بلیس سیستمی آری نه
بلیتزمکس اپلیکیشن، بازی آری آری آری آری نه
بو اپلیکیشن، اجرانامه‌نویسی بازی آری نه
برو خاص دامنه، اپلیکیشن آری آری نه
سی اپلیکیشن، سیستمی،[۱۵] همه‌منظوره، عملیات سطح پایین آری آری ۱۹۸۹، ANSI سی۹۸، ایزو سی۹۰، ایزو سی۹۹، ایزو سی۱۱، ایزو سی۱۸[۱۶]
سی++ اپلیکیشن، بازی، سیستمی آری آری آری آری آری ۱۹۹۸، ایزو/آی‌ئی‌سی ۲۰۰۳، ایزو/آی‌ئی‌سی ۲۰۱۱، ایزو/آی‌ئی‌سی ۲۰۱۴، ایزو/آی‌ئی‌سی ۲۰۱۷[۱۷]
سی شارپ اپلیکیشن، بازی، آرای‌دی، تجاری، سمت کاربر، عمومی، سمت سرور، وب آری آری آری[۱۸] آری آری آری آری ساختارمند، همزمان ۲۰۰۰، اکما، ایزو[۱۹]
کلاریون عمومی، تجاری، وب آری آری آری[۲۰] ناشناخته
کلین عمومی آری آری نه
کلوژر عمومی آری همزمان نه
سی‌ال‌یو عمومی آری آری آری آری نه
کوبول اپلیکیشن، تجاری آری آری آری ANSI ایکس ۳٫۲۳ ۱۹۶۸، ۱۹۷۴، ۱۹۸۵، ایزو/آی‌ئی‌سی ۱۹۸۹:۱۹۸۵، ۲۰۰۲، ۲۰۱۴
کبرا اپلیکیشن، تجاری، عمومی، وب آری آری آری آری آری نه
کولدفیوژن (CFML) وب آری آری نه
لیسپ معمولی عمومی آری آری آری آری آری آری آری نحو توسعه‌پذیر، آرایه‌محور، ماکروهای همگرا، اعزام چندگانه، همزمان ۱۹۹۴، ANSI
کومال ۸۰ آموزشی آری آری نه
کریستال همه‌منظوره آری آری[۲۱] آری آری مرحله ابتدایی[۲۲] نه
کیوری اپلیکیشن آری آری ارزیابی کندرو، غیر قطعی استاندارد بالفعل به‌واسطهٔ گزارش زبان کیوری
سایتون اپلیکیشن، عمومی، آنالیز عددی آری آری آری آری جنبه‌گرا نه
دی اپلیکیشن، سیستمی آری آری آری آری آری آری مولد، همزمان نه
دارت اپلیکیشن، وب، سمت سرور، موبایل، اینترنت اشیاء آری آری آری ساختارمند استاندارد اکما-۴۰۸
دایلن اپلیکیشن آری آری نه
ایفل عمومی، اپلیکیشن، تجاری، سمت کاربر، سمت سرور، وب (EWF) آری آری آری[۲۳][۲۴] آری آری Erl-G آری عوامل اسکوپ توزیع‌شده، بی‌خطر ۲۰۰۵، اکما، ایزو[۲۵]
الیکسیر اپلیکیشن، توزیع‌شده آری آری همزمان، توزیع‌شده نه
ارلنگ اپلیکیشن، توزیع‌شده آری آری همزمان، توزیع‌شده نه
یوفوریا اپلیکیشن آری آری نه
فکتور عمومی آری قابل مشاهده به‌صورت تابعی آری آری پشته‌گرا نه
اف‌پی آری نه
اف شارپ اپلیکیشن آری آری آری آری آری آری آری نه
فورث عمومی آری قابل مشاهده به‌صورت تابعی پشته‌گرا ۱۹۹۴، ANSI
فورترن اپلیکیشن، رایانش عددی آری آری آری آری آری آرایه‌گرا، بُرداری، همزمان، موازی‌کاری توزیع‌شدهٔ بومی/حافظه مشترک ۱۹۶۶، ANSI 66, ANSI 77, MIL-STD-1753، ایزو ۹۰، ایزو ۹۵، ایزو ۲۰۰۳، ایزو/آی‌ئی‌سی ۱۵۳۹–۱:۲۰۱۰ (۲۰۰۸)، ایزو/آی‌ئی‌سی جی‌تی‌سی۱/اس‌سی۲۲/دبلیوجی۵ ان۲۱۴۵ (۲۰۱۸)
فری‌بیسیک اپلیکیشن، رایانش عددی آری آری آری آری نه
گامباس اپلیکیشن آری آری آری نه
زبان گیم میکر اپلیکیشن، بازی آری آری آری نه
جی‌ال‌بیسیک اپلیکیشن، بازی آری آری آری شیءگرای ساده نه
گو اپلیکیشن، وب، سمت سرور آری [۲۶] آری آری آری همزمان استاندارد بالفعل به‌واسطهٔ ویژگی‌های زبان گو
گوسو اپلیکیشن، عمومی، اجرانامه‌نویسی، وب آری آری آری آری نه
گراف‌تاک اپلیکیشن آری منطقی نه
گرووی اپلیکیشن، عمومی، اجرانامه‌نویسی، وب آری آری آری آری آری آری آری فرا برنامه‌نویسی در دست انجام، جی‌سی‌پی[۲۷]
آربور اپلیکیشن، تجاری، پردازش داده، عمومی، وب آری آری آری آری آری آری اعلانی نه
هسکل اپلیکیشن آری آری ارزیابی کندرو ۲۰۱۰، هسکل ۲۰۱۰[۲۸]
هیکس اپلیکیشن، عمومی، وب آری آری آری آری آری نه
هایپرنکست اپلیکیشن، آموزشی آری آری نوع‌دهی سست نه
هایپرتاک اپلیکیشن، آرای‌دی، عمومی آری آری نوع‌دهی سست ناشناخته
آی‌او اپلیکیشن، اجرانامه‌نویسی میزبان‌محور آری آری نه
آی‌پی‌ال عمومی آری ناشناخته
ایزلیسپ عمومی آری آری آری آری ۱۹۹۷، ایزو
جی پردازش داده‌ها آرایه‌گرا، هم‌سطح عملگر، ضمنی نه
جید اپلیکیشن، توزیع‌شده آری آری نه
جاوا اپلیکیشن، تجاری، سمت کاربر، عمومی، توسعهٔ موبایل، سمت سرور، وب آری آری آری آری آری آری آری همزمان استاندارد بالفعل به‌واسطهٔ ویژگی‌های زبان جاوا
جاوااسکریپت سمت کاربر، سمت سرور، وب آری آری آری آری آری آری بر پایه پیش‌نمونه ۱۹۹۷، اکما
جوی پژوهشی آری پشته‌گرا نه
جولیا عمومی، رایانش فنی آری آری آری آری آری آری اعزام چندگانه، متا، نردبانی و آرایه‌گرا، موازی، همزمان، توزیع‌شده («ابری») نه
کی پردازش داده‌ها، تجاری آرایه‌گرا، ضمنی ناشناخته
کاتلین اپلیکیشن، توسعهٔ موبایل، سمت سرور، سمت کاربر، وب آری آری آری آری آری آری[۲۹] آری نه
کورن‌شل پوسته، اجرانامه‌نویسی آری آری آری چندین واریانت، قابل برنامه‌ریزی سفارشی، پودمان‌های قابل بارگذاری پویا ۱۹۹۲، پازیکس. ۲[۳۰]
لب‌ویو (جی) اپلیکیشن، ابزار دقیق صنعتی-اتوماسیون آری آری آری آری گردش داده‌ها، تصویری نه
لیسپ عمومی آری ناشناخته
لایوکد اپلیکیشن، آرای‌دی، عمومی آری آری نوع‌دهی سست نه
لاگ‌تاک هوش مصنوعی، اپلیکیشن آری آری آری منطقی نه
ال‌اس‌ال پویانمایی و اجرانامه‌نویسی محتوای جهان‌های مجازی آری آری آری اجرانامه‌های موجود در اشیاء موجود در جهان شاید[۳۱]
لوآ اپلیکیشن، اجرانامه‌نویسی تعبیه‌شده آری آری[۳۲] آری آری آری جنبه‌گرا، بر پایه پیش‌نمونه نه[۳۳]
میپل محاسبات نمادین، رایانش عددی آری آری آری آری توزیع‌شده نه
مثمتیکا زماد نمادین آری آری آری آری آری آری آری منطقی، توزیع‌شده نه
متلب بسیار خاص دامنه، رایانش عددی آری آری آری نه
ماژولا-۲ اپلیکیشن، سیستمی آری آری ۱۹۹۶، ایزو[۳۴]
ماژولا-۳ اپلیکیشن آری آری آری نه
مامپز (ام) اپلیکیشن، پایگاه‌های داده آری آری همزمان، چندکاربره، نواس‌کیوال، پردازش تراکنش ۱۹۷۷، ANSI
نیم اپلیکیشن، عمومی، وب، اجرانامه‌نویسی، سیستمی آری آری آری آری آری آری اعزام چندگانه، همزمان، فرا برنامه‌نویسی نه
اوبرون اپلیکیشن، سیستمی آری آری نه
آبجکت پاسکال اپلیکیشن، عمومی، اپلیکیشن موبایل، وب آری آری آری آری آری آری ساختارمند نه
آبجکتیو-سی اپلیکیشن، عمومی آری آری آری آری همزمان نه
اکمل اپلیکیشن، عمومی آری آری آری آری آری نه
اوکام عمومی آری آری همزمان، پردازش‌گرا نه
اوپا وب‌اپلیکیشن آری آری آری توزیع‌شده نه
اوپن‌لیسپ عمومی، موتور تعبیه‌شده لیسپ آری آری آری آری جایگزین ایزلیسپ، ایزو
اکسیژن اپلیکیشن آری آری آری نه
آز-موزارت اپلیکیشن، توزیع، آموزشی آری آری آری همزمان، منطقی نه
پاسکال اپلیکیشن، آموزشی آری آری ۱۹۸۳، ایزو[۳۵]
پرل اپلیکیشن، اجرانامه‌نویسی، پردازش متنی، وب آری آری آری آری آری آری نه
پی‌اچ‌پی سمت سرور، وب‌اپلیکیشن، وب آری آری[۳۶] آری[۳۷] آری آری استاندارد بالفعل به‌واسطهٔ ویژگی‌های زبان و درخواست‌های نظر (RFC)
پی‌ال/۱ اپلیکیشن آری آری آری ۱۹۶۹، اکما-۵۰ (۱۹۷۶)
پلاس اپلیکیشن، توسعهٔ سامانه آری آری نه
پست‌اسکریپت گرافیکی، توضیحات صفحه آری آری منسجم، پشته‌گرا آری، طبق مرجع راهنمای پست‌اسکریپت[۳۸]
پاورشل مدیریت، اپلیکیشن، اجرانامه‌نویسی عمومی آری آری آری آری آری خط لوله نه
پرولوگ اپلیکیشن، هوش مصنوعی آری آری آری منطقی، اعلانی ۱۹۹۵، ایزو/آی‌ئی‌سی ۱۳۲۱۱–۱:۱۹۹۵، تی‌سی۱ ۲۰۰۷، تی‌سی۲ ۲۰۱۲، تی‌سی۳ ۲۰۱۷
پیوربیسیک اپلیکیشن آری نه
پایتون اپلیکیشن، عمومی، وب، اجرانامه‌نویسی، هوش مصنوعی، محاسبهٔ علمی آری آری آری آری آری آری آری جنبه‌گرا استاندارد بالفعل به‌واسطهٔ پیشنهادهای افزایشی پایتون (PEP)
آر اپلیکیشن، آمار آری آری آری آری آری نه
رکت آموزشی، عمومی، اجرانامه‌نویسی آری آری آری آری پودمانی، منطقی، متا نه
راکو اجرانامه‌نویسی، پردازش متن، گلو آری آری آری آری آری آری جنبه‌گرا، آرایه، ارزیابی کندرو، اعزام چندگانه، فرا برنامه‌نویسی آری
ریل‌بیسیک اپلیکیشن آری ناشناخته
ریبل توزیع‌شده آری آری آری آری آری آری گویشی‌شده نه
رکس اجرانامه‌نویسی آری آری (گویش‌های نت‌رکس و آبجکت رکس) نه آری نه نه ۱۹۹۶ (ANSI ایکس۳٫۲۷۴–۱۹۹۶)
آرپی‌جی اپلیکیشن، سیستمی آری آری نه
روبی اپلیکیشن، اجرانامه‌نویسی، وب آری آری آری آری جنبه‌گرا ۲۰۱۱ (جی‌آی‌اس ایکس ۳۰۱۷)، ۲۰۱۲ (ایزو/آی‌ئی‌سی ۳۰۱۷۰)
راست اپلیکیشن، سمت سرور، سیستم، وب آری آری[۳۹] آری آری آری آری همزمان نه
اس اپلیکیشن، آمار آری آری آری آری نه
اس-لنگ اپلیکیشن، عددی، اجرانامه‌نویسی آری آری نه
اسکالا اپلیکیشن، توزیع‌شده، وب آری آری آری آری آری آری استاندارد بالفعل به‌واسطهٔ ویژگی‌های زبان اسکالا (SLS)
اسکیم آموزشی، عمومی آری نحو قابل توسعه ۱۹۹۸، R6RS
سید۷ اپلیکیشن، عمومی، اجرانامه‌نویسی، وب آری آری آری آری الگوی چندگانه، قابل توسعه، ساختارمند نه
سیمولا آموزشی، عمومی آری آری آری شبیه‌سازی رویداد گسسته، چند ریسه‌ای (شیه‌موازی) اجرای برنامه ۱۹۶۸
اسمال بیسیک اپلیکیشن، آموزشی، بازی آری آری مؤلفه‌گرا نه
اسمال‌تاک اپلیکیشن، عمومی، تجاری، هوش مصنوعی، آموزشی، وب آری آری آری آری آری آری همزمان، اعلانی ۱۹۹۸، ANSI
اسنوبول پردازش متن ناشناخته
استاندارد ام‌ال اپلیکیشن آری آری آری ۱۹۹۷، اس‌ام‌ال '۹۷[۴۰]
سوئیفت اپلیکیشن، عمومی آری آری آری آری آری آری آری همزمان، اعلانی، پروتکل‌گرا نه
تی‌سی‌ال اپلیکیشن، اجرانامه‌نویسی، وب آری آری آری آری آری آری نه
ویژوال بیسیک اپلیکیشن، آرای‌دی، آموزشی، تجاری، عمومی، (از جمله وی‌بی‌ای)، اتوماسیون اداری آری آری آری آری مؤلفه‌گرا نه
ویژوال بیسیک دات‌نت اپلیکیشن، آرای‌دی، آموزشی، وب، تجاری، عمومی آری آری آری آری آری آری آری ساختارمند، همزمان نه
ویژوال فاکس‌پرو اپلیکیشن آری داده‌محور، منطقی نه
ویژوال پرولوگ اپلیکیشن آری آری آری آری اعلانی، منطقی نه
زبان ولف‌رم زبان نمادین آری آری آری آری آری آری آری منطقی، توزیع‌شده نه
اکس‌ال آری آری برنامه‌نویسی مفهومی نه
زوجو اپلیکیشن، آرای‌دی، عمومی، وب آری آری آری آری آری نه
اکس‌پت/اکس‌کوئری پایگاه‌های داده، پردازش داده، اجرانامه‌نویسی آری درخت‌گرا دبلیو۳سی ۱۹۹۹ اکس‌پت ۱، ۲۰۱۰ اکس‌کوئری ۱، ۲۰۱۴ اکس‌پت/اکس‌کوئری ۳٫۰
زی شل پوسته، اجرانامه‌نویسی آری آری پودمان‌های قابل بارگذاری نه

منابع

[ویرایش]
  1. As of May 2006 Diarmuid Pigott's Encyclopedia of Computer Languages بایگانی‌شده در ۲۰۱۱-۰۲-۲۰ توسط Wayback Machine hosted at Murdoch University, Australia lists 8512 computer languages.
  2. Ada Reference Manual, ISO/IEC 8652:2005(E) Ed. 3, 3.9 Tagged Types and Type Extensions
  3. Ada Reference Manual, ISO/IEC 8652:2005(E) Ed. 3, Section 6: Subprograms
  4. Ada Reference Manual, ISO/IEC 8652:2005(E) Ed. 3, Section 12: Generic Units
  5. Ada Reference Manual, ISO/IEC 8652:2005(E) Ed. 3, Section 9: Tasks and Synchronization
  6. Ada Reference Manual, ISO/IEC 8652:2005(E) Ed. 3 Annex E: Distributed Systems
  7. "Vak.ru" (PDF). Archived from the original (PDF) on 2017-03-30. Retrieved 2008-08-09.
  8. ISO 1538:1984
  9. "Vak.ru" (PDF). Archived from the original (PDF) on 2017-03-24. Retrieved 2008-08-09.
  10. «IEEE 694-1985». بایگانی‌شده از اصلی در ۲۴ اكتبر ۲۰۱۹. دریافت‌شده در ۲۰ فوریه ۲۰۲۱. تاریخ وارد شده در |archive-date= را بررسی کنید (کمک)
  11. Objects - Definition & Usage
  12. "Ballerina Language Specification" (PDF). WSO2. 2018-05-01. Archived from the original (PDF) on 4 May 2018. Retrieved 2018-05-03.
  13. POSIX.2, Shell and Utilities, Command Interpreter (IEEE Std 1003.2-1992.)
  14. JSR 274
  15. bell-labs.com
  16. ANSI C89, ISO/IEC 9899:1990, 1999, 2011, 2018
  17. ISO/IEC 14882:1998, 2003, 2011, 2014, 2017
  18. Codeproject.com: Functional Programming in C# 3.0 using Lambda Expression
  19. ECMA-334; ISO/IEC 23270:2006
  20. Softvelocity.com
  21. https://github.com/crystal-lang/crystal#why
  22. https://github.com/crystal-lang/crystal#status
  23. Basic Eiffel language mechanisms
  24. Closure (computer programming)
  25. ECMA-367; ISO/IEC 25436:2006
  26. زبان برنامه‌نویسی گو (سؤالات متداول)
  27. JSR 241
  28. "The Haskell 2010 Language Report". Retrieved 2011-12-07. Most Haskell implementations extend the Haskell 2010 standard.
  29. "M8 is out!". As a first peek into the future reflective capabilities of Kotlin, you can now access properties as first-class objects in Kotlin
  30. POSIX.2, Shell and Utilities, Command Interpreter (IEEE Std 1003.2-1992.)
  31. "De facto" reference is the Second Life implementation of LSL. Halcyon (Inworldz) and Open Sims propose compatible implementations with additionnal functions
  32. Lua doesn't have explicit "object" type (more general type of "table" is used for object definition), but does have explicit syntax for object method calling
  33. Version releases are accompanied with a definitive Lua Reference Manual showing full syntax and semantics; a reference implementation, and a test suite. These are used to generate other Lua VM implementations and compilers such as Kahlua and LLVM-Lua.
  34. ISO/IEC 10514-1:1996
  35. ISO 7185
  36. PHP Manual, Chapter 19. Classes and Objects (PHP 5),
  37. PHP Manual, Chapter 17. Functions
  38. "PostScript Language Reference Manual" (PDF). Archived from the original (PDF) on 2017-02-18. Retrieved 2017-02-18.
  39. Is Rust an Object-Oriented Programming Language?
  40. SMLNJ.org